-
Notifications
You must be signed in to change notification settings - Fork 606
Updating Steering Committee charter #361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
STEERING-COMMITTEE.md
Outdated
| 1. The top three contributing companies to Istio are eligible for | ||
| Contributor Seats, proportional to their contribution. | ||
| 1. Each company is allocated one seat; | ||
| 1. The remaining six seats are allocated based on percentage project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not agree with the proportional seating allocation for steering. I’m open to the idea that contributors meeting the 5% qualification get a set number of seats (1 or 2) but no additional seats should be allocated based on contribution. A goal of the steering is to have fare and neutral representation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about community-voted and contribution-based seats is not a fair make up that represents the community?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair and neutral are not always compatible. If the allocation is done based on meritocratic principles (percentage contributions), that could be called 'fair' but not 'neutral' when the contributions are not balanced.
In such a case though, there would be a path to neutral representation which would be increasing contributions to balance them out. And it has the nice property that giving contributors incentives to increase their contributions is good for the project overall.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs a discussion and consensus in the steering committee and approval by the current steering committee members.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since contributor seats would be a new addition, it would be good to hear from folks not currently on Steering but are active contributors and potentially could be!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My main concern was not with contributor seats. My questioning is the need to distribute the 6 remaining community seats proportionally based on contributions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are 4 community seats (2 elected by community and 2 appointed by SC) and 9 contributor seats. The contributor seats are held by contributing companies. This thread was about the 6 remaining contributor seats after the top 3 companies are assigned a seat.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Based on discussion at recent Steering committee meetings, we have consensus for 9 Contribution Seats, and 4 Community Seats.
- Contribution seats are allocated based on merged PRs in the first instance, and that will be reviewed every year.
- Community seats are now all voted by the project members.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comments regarding contribution based seats.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@oaktowner we should have some verbiage around setting "ethical" guidelines for the project. This group seems like a natural place to set and enforce these standards.
|
We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google. ℹ️ Googlers: Go here for more info. |
STEERING-COMMITTEE.md
Outdated
| by the number of merged pull requests on GitHub over the one year period prior | ||
| to the Contributor Seat assignments: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can abstract this language a bit to allow for future enhancements/changes.
I would propose changing "expenditure" to "contributions" unless "expenditure" is added on purpose for direct cost attribution. Here's my suggestion:
The measurements for effort and contributions can change over time via the approval process of the Steering committee members. The current measurement is based on by the number of merged pull requests on GitHub over the one year period prior to the Contributor Seat assignments:
The reason I would suggest we include this is any metrics we come up with can be gamed easily and can have interesting model for incentives (like many small PRs which can be good or bad :)). We need to start somewhere and evolve as we learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do like this -- I like the phrasing change (expenditure->contributions) and I also like the new verbiage. Anyone opposed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could this be "aggregate contributions, including non-code or procedural such as extensive issue triage" - you want to make sure contributor diversity is encouraged
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The draft said:
(note: while the project fully embraces that there are ways beyond pull requests to measure input, we anticipate that merged pull requests are a decent proxy for total contribution, which includes reviews, comments, etc)
For the purposes of calculating company contribution, we felt it unlikely that it would be imbalanced such that other contributions were out of alignment with the ratios of participation by PRs. (I say this as someone whose contributions are not primarily code.) I believe Sean looked at the numbers for other potential metrics, and found them to be about the same.
For an individual, we put in the idea of an exclusion for "standing" like Kubernetes has, for voting. For standing for election, the bar to membership seems low enough that an individual (for example, an end user) is likely to meet it through things such as docs, blog or governance contributions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like that point @nrjpoddar. This was a one of my concerns with proportional seat distribution due to the arguments around calculating contributions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 I'm concerned with merged pull requests as well. I believe it is not an issue today as other contributions would reflect at similar percentage of merged PR, but it could shift in the future. Have some flexibility like @nrjpoddar suggested would help. Remember, it is almost impossible to reach consensus to change anything in the charter if we need 80% passing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The point being it should be difficult to change the charter and having a large percentage agreement to change the charter is reasonable/expected.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PTAL at the updated language, which addresses this.
|
I think this is an outstanding and tangible commitment to representative, open governance for this project. Thank you all for continuing this important work. |
@oaktowner My reading of the draft does not deliver on this paragraph. Contributors who make tangible contributions may not stand for election if they are employed by a company that maintains a "Contributor Seat". I would encourage you to think about why having elected community members that are free of this requirement would be valuable for a steering committee, or any board in general. Cheers, |
@sdake This is a fine question. The idea behind making the community seats come from different companies than the contribution seats was to promote diversity in company makeup. The concern is a situation where contributors from the largest companies will vote for their co-workers, because they know them the best. I wonder if there is a good compromise where you can have a community seat holder from a contributing company, who has only earned one contributing seat? |
Sean, Thank you for the response. I think it is helpful @oaktowner or Google or whoever invented this unorthodox charter strives for some form of corporate diversity. I don't agree with your prediction in this area based upon 20+ years of open source experience. However, to clarify, I didn't ask a question, I made a statement and I'll repeat it: I would encourage (@oaktowner) to think about why having elected community members that are free of this requirement would be valuable for a steering committee, or any board in general. If there is a question in there, its "Why is having community members free of this requirement valuable for a steering committee, or any board in general"? Cheers, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think "Contributor" seats is causing some confusion. These are contributing company seats and not individual contributors. Would calling them Company seats make it more clear?
Oh, thanks for pointing this out. At some point we had "Contribution" seats and that got changed to "Contributor." I actually like "Contribution" better (because it explains why the company got the seat). Will adjust. |
I think the word Contribution/Contributing both might be confusing as I think even in the community seats you are still expected to contribute and probably anyone who got elected is there because they made contributions via means other than PRs. If my understanding is correct, then what we have in the proposed charter is “Organization seats” assigned via direct measurable contributions and “Individual seats” which covers contribution not directly measurable but equally valuable like end users/product owners/marketers/thought leadership etc. Naming is hard and we all struggle to get the right sentiment across. Not sure if my suggestion would work for everyone but I think that’s what the new charter is tryin to convey. Going further I would say for Individuals seats we should be even open to folks who are willing to contribute in Istio but have demonstrated expertise in their domains elsewhere. Opening up governance is about taking some risks too and I think we all will be pleasantly surprised by the outcomes we might get. I don’t mean to discount past contributions but intent and willingness to contribute should also be encouraged. |
|
@sdake to make the provenance of this clear: the various members of the steering committee have collaborated on this for over a year and some of decided it is a discussion that, in the spirit of openness, it is best to have the discussion in public on Github. Thanks for your comment. To that end: we absolutely have increasing corporate diversity and increasing community involvement on the Steering Committee as goals. If I'm not mistaken (and please correct me if I'm wrong), it seems that you are pointing out is that we could have another goal which would be to increase diversity from within any given company (by allowing an employee not selected by the company to get elected). That wasn't a goal we set out to achieve. And my concern with taking that goal on is that it would necessarily take away a seat from a company not already represented, thus subverting the primary goal (i.e., if all of the Googlers involved were to elect yet another Googler to Steering, that would keep a different company from getting a seat). Does that make sense? |
|
What about "stakeholder seats" to refer to companies invested in the project? This also conveys that the person in the SC is representing the company's interests as they intersect with the project, and may be more fungible than someone who is a direct contributor. |
@oaktowner thank you for your considered response. I believe you haven't answered the question I asked, so I will answer it based upon my limited board service experience: Individual contributors help balance a board and create a dynamic exchange of information. A well-balanced steering committee or board is necessary if the SC really wishes Istio to succeed long term. If the board is not well balanced, I would challenge you a little to consider: why not just have one person that is responsible for all of Istio governance. I understand, to some degree the goals you set out to achieve. Assignments from vested parties does not deliver transparency, which is one key aspect of open governance. Assignments from vested parties does not deliver participation, which is another key aspect of open governance. Assignments from vested parties does not deliver any form of accountability, which is a third aspect of open governance. My proposal is simple: If you wish to allocate seats based upon some nebulous metric, that is fine. Make those seat-holders accountable, ensure they are participants in the project, and most importantly drive them into transparency by enforcing voting for all steering committee seats - no matter their allocation. Cheers, |
|
/test lint_community 502 error in linting relates to github overload on linting. |
|
A huge thank-you to @sdake for helping with the magic Git incantations to get this PR back to a working state. |
|
cla:yes |
|
@googlebot I fixed it. |
STEERING-COMMITTEE.md
Outdated
| 1. A simple majority of Seats shall be sufficient to convene a meeting of the | ||
| Steering Committee, one nominating, and the rest agreeing, over email. Meeting | ||
| proposals shall be circulated to all Seats, and time, location, and medium shall | ||
| be selected to be as convenient as possible. All Seats shall be given at least | ||
| one week written notice that a meeting of the Steering Committee will be held. | ||
| 1. At all meetings of the Steering Committee convened under this charter, at | ||
| least 60% of the Seats shall constitute a quorum for voting purposes. The vote | ||
| of an affirmative vote of 60% of the Seats present at the time of the vote shall | ||
| be the decision of the Steering Committee. However, any changes to the Steering | ||
| Committee Charter shall require a vote of 80% of the Seats present at the time of | ||
| the vote. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry it is not clear to me whether the vote has to be done at the SC meeting or can be offline. Based on the reading, it seems to indicate members have to be present to vote.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"time, location, and medium shall be selected to be as convenient as possible".
In our last meeting we chose to interpret this as allowing some or all voting to happen async, by e-mail, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, i just wanted to make sure that is reflected here as the charter has Seats present at the time of the vote.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, we are going to consider "participating in the vote" instead of "present at the time of the vote."
| 1. Contribution Seat terms expire on January 31 and Community Seat terms expire | ||
| on July 31. If necessary, a company holding a Contribution Seat may change the | ||
| appointed individual at any time during the term. | ||
| 1. No Company can have more than 5 seats in total on the Steering Committee. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think less than 1/3 is resonable.
xref: https://github.com/kubernetes/steering/blob/master/elections.md#maximal-representation
the results of an election result in greater than 1/3 representation, the lowest vote
getters from any particular company will be removed until representation on the
committee is less than one-third.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And kubernetes charter https://github.com/kubernetes/steering/blob/master/charter.md#quorum
Steering committee members are generally expected to attend every meeting. We use the following guidelines to determine whether we have reached quorum and are able to proceed with a meeting.
- Round quorum up if total number of members is odd
- Quorum to meet is 1/2 members attending (eg: 6/12, 6/11, 4/7)
- Quorum to vote in a meeting is 2/3 members attending (eg: 8/12, 8/11, 5/7)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good examples. I would also prefer no one company holds over 1/3, which was in my initial proposal as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The max number of contribution members of one company should be "total number of contribution member/the number of eligible company". In case of 9 seats and 3 companies, it should be 9/3 = 3. I would also argue that we may want to open the seats to more companies to encourage wider industry participation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also agree to use a percentage of voting seats to define the max number of seats versus a flat number.
I like a percentage of 1/3 (33%) max voting seats but I would place the percentage against the total number of voting seats in the committee and not limit the max to simply the contributor seats. So if the total number is 13 then the max would be 4 seats.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is against the total seats: the percentage is 38.4%, and we're choosing to express it in a number of seats (5). 😄
33% of 13 is 4.29 seats. Which way do we round it? A flat number seems easier for that purpose.
STEERING-COMMITTEE.md
Outdated
| That procedure will be published to the istio/community repository; | ||
| modifications subsequent to the annual publication of rules shall be considered | ||
| modifications to the Steering Committee Charter. | ||
| 1. The top three Companies contributing to Istio are eligible for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Noting that we discussed changing this to top three companies are guaranteed a seat, rather than only the top three being eligible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the comment. Will adjust (probably to "are guaranteed a seat")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved based on vote in Steering Committee
|
Manually setting cla:yes; Neeraj made a commit from a different account but he has signed the CLA. |
|
A Googler has manually verified that the CLAs look good. (Googler, please make sure the reason for overriding the CLA status is clearly documented in these comments.) ℹ️ Googlers: Go here for more info. |
Resolved in later commit.
The Istio Steering Committee oversees community outreach, ecosystem engagement, and project governance. To date, Steering Committee seats were granted to founders (IBM and Google) and were approximately allocated based on contribution. While this let us get going and move quickly, we’ve outgrown this loose structure, and as the project evolves and adoption grows, so should its leadership opportunities.
This PR proposes a new Steering Committee charter, with two kinds of seats, each with equal voting weight: Contributor Seats and Community Seats. Contributor Seats will be allocated proportionally to company contributions; Community Seats are open to any member who has made a contribution to the project and are voted on by their fellow contributors. With this proposed new structure, community members making an impact on the project -- through both code and non-code contributions -- will have a voice and opportunities to impact how the project grows.